Preventing Piracy, Reverse Engineering, and Tampering

نویسندگان

  • Gleb Naumovich
  • Nasir D. Memon
چکیده

P ersonal privacy, national security, and other fundamental values hinge on the ability to protect data from unauthorized access. As computing becomes pervasive, concerns about data protection have taken on new urgency. For example, obtaining unauthorized access to someone's medical history once would have required physically breaking into a doc-tor's office, searching through one or more filing cabinets , and extracting the patient's folder. Today, it is often possible to obtain such records by breaking into the doctor's computer from a remote location. What makes securing digital data difficult is that it is rarely static—rather, data is manipulated by software, often in a networked environment. For example, parts of a hospital's medical database may be accessible to queries by the police department. In many cases, to steal or manipulate data an attacker need not take over the host computer but instead only has to defeat the software programs responsible for protecting the data. Software itself is a form of data and as such is vulnerable to theft and misuse. Given the enormous investment of time, money, and intellectual capital in software development, piracy has long been— and continues to be—a major threat to the software industry. In its most recent study, which tracked 26 popular business applications in 85 countries, the Business Software Alliance (www.bsa.org) reported that the global economic impact of pirated software totaled nearly US$11 billion in 2001. 1 The problem, however, extends well beyond that of software piracy. Software is increasingly being distributed as mobile code in architecture-independent formats. Most such formats are essentially equivalent to source code, which makes the software susceptible to decompilation and reverse engineering. Malicious parties can steal the intellectual property associated with such code with relative ease. Clearly, there is a strong need for developing more efficient and effective mechanisms to protect software. Unfortunately, none of the major approaches currently used by software developers and vendors provide adequate protection, especially on today's open computing platforms. However, three promising techniques under development— tamper proofing, obfuscation, and watermarking— offer hope for the future. As Figure 1 shows, from a software vendor's point of view, a program executes in either a trusted or untrusted environment. We use the term " program " for simplicity—software protection mechanisms can and should be applied not only to complete programs, but also to program components, such as reusable class libraries. The typical end user's computer is inherently untrustworthy because …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A Thorough Investigation on Software Protection Techniques against Various Attacks

ISSN 2277 5099 | © 2012 Bonfring Abstract--Software security and protection plays an important role in software engineering. Considerable attempts have been made to enhance the security of the computer systems because of various available software piracy and virus attacks. Preventing attacks of software will have a huge influence on economic development. Thus, it is very vital to develop approa...

متن کامل

Securing Android Code Using White Box Cryptography and Obfuscation Techniques

Code obfuscation is a set of program transformations that make program code and program execution difficult to analyze. First of all, obfuscation hinders manual inspection of program internals. By renaming variables and functions, and breaking down structures, it protects against reverse-engineering. It protects both storage and usage of keys, and it can hide certain properties such as a softwa...

متن کامل

Watermarking, Tamper-Proofing, and Obfuscation-Tools for Software Protection

We identify three types of attack on the intellectual property contained in software, and three corresponding technical defenses. A potent defense against reverse engineering is obfuscation, a process that renders software unintelligible but still functional. A defense against software piracy is watermarking, a process that makes it possible to determine the origin of software. A defense agains...

متن کامل

Sandmark--A Tool for Software Protection Research

T he current widespread interest in protecting software from piracy, tampering, and reverse engineering has been brought to bear for several reasons. First, revenue derived from proprietary software sales is vital to many software vendors' survival. Second, more vendors distribute software in forms that attackers can easily manipulate, such as Java bytecode or Mi-crosoft's intermediate language...

متن کامل

Guaranteeing memory integrity in secure processors with Dynamic Trees

Due to the widespread software copyright violations (piracy, reverse engineering and tampering), significant efforts have been made to protect applications from host attacks. With the advent of open operating systems like Linux, it is has become even easier for adversaries to hack the OS and inflict such attacks. As a result, it is becoming increasingly difficult to trust OS for protecting soft...

متن کامل

Metamorphism as a Software Protection for Non-malicious Code Thesis

The software protection community is always seeking new methods for defending their products from unwanted reverse engineering, tampering, and piracy. Most current protections are static. Once integrated, the program never modifies them. Being static makes them stationary instead of moving targets. This observation begs a question, “Why not incorporate self-modification as a defensive measure?”...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • IEEE Computer

دوره 36  شماره 

صفحات  -

تاریخ انتشار 2003